package io;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * 向文件中写入文本数据
 */
public class WriteStringDemo {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("test.txt");
        String line = "我是这路上没名字的人,我没有新闻没有人评论.";
        /*
            String提供了一个方法,可以将一个字符串转换为一组字节
            byte[] getBytes()
            无参的方法使用系统默认的字符集,不推荐.因为可能存在跨平台问题
            byte[] getBytes(Charset cn)

            UTF-8编码
            unicode的传输格式,在unicode的基础上添加了长度信息.

            因此在UTF-8中
            英文,符号,数字这类字符还是单字节,维持asc编码原样.

            中文,日文,韩文,韩文,泰文,阿拉伯文,汉字等字符,需要两个字节(unicode)
            变成UTF-8后,中文就是3个字节了.

         */
        byte[] data = line.getBytes(StandardCharsets.UTF_8);
        fos.write(data);
        data = "要拼尽所有换的普通的剧本，辗转反侧不过谋生。".getBytes(StandardCharsets.UTF_8);
        fos.write(data);
        System.out.println("写出完毕");
        fos.close();
    }
}
